#include "shortest.cpp"

int main() {
    // 示例用法 (与之前的实现相同，此处省略重复代码)
    // 示例用法 (需要用你的图数据填充)
    vector<node> nodes(8); // 例子：8个节点
    for (int i = 0; i < 8; ++i) {
        nodes[i].id = i;
    }

    // 添加边
    nodes[0].targetVector.push_back({1, 4});
    nodes[0].targetVector.push_back({2, 2});
    nodes[0].targetVector.push_back({3, 5});
    nodes[1].targetVector.push_back({2, 1});
    nodes[1].targetVector.push_back({4, 7});
    nodes[2].targetVector.push_back({3, 3});
    nodes[2].targetVector.push_back({5, 6});
    nodes[3].targetVector.push_back({4, 2});
    nodes[3].targetVector.push_back({6, 4});
    nodes[4].targetVector.push_back({5, 3});
    nodes[4].targetVector.push_back({7, 5});
    nodes[5].targetVector.push_back({6, 2});
    nodes[5].targetVector.push_back({7, 4});
    nodes[6].targetVector.push_back({7, 1});

    Dijkstra(nodes);
    BellmanFord(nodes);
    floyd(nodes);

    return 0;
}
